#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
const int N=1e3+10;

int a[N];
int dp[N];
int main()
{
  int n;
  cin>>n;
  for(int i=1;i<=n;i++) 
    cin>>a[i];
  int ret=0;
  for(int i=1;i<=n;i++)
  {
    dp[i]=1;
    for(int j=1;j<i;j++)
    {
      if(a[i]>a[j])
        dp[i]=max(dp[i],dp[j]+1);
    }
    ret=max(ret,dp[i]);
  }
  cout<<ret<<endl;
  return 0;
}
